package com.lyf.emall.mapper;

import com.lyf.emall.bean.Page;
import com.lyf.emall.bean.SysUser;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

/**
 * @Description:UserMapper
 * @Author Lfy
 * @Date 2022/2/17-14:37
 */
@Mapper
public interface UserMapper {

    /**
     * 添加普通用户
     * @param user
     * @return
     */
    int insertSysUser(SysUser user);

    /**
     * 根据用户名查询用户
     * @param userName:用户名
     * @return
     */
    SysUser querySysUserByUserName(String userName);

    /**
     * 根据用户id删除用户
     * @param userId
     * @return
     */
    int updateDelFlagByUserId(Integer userId);

    /**
     * 根据用户id需修改用户状态
     * @param userId
     * @param status
     * @return
     */
    int updateStatusByUserId(Integer userId,Integer status);

    /**
     * 根据用户id获得用户信息
     * @param userId
     * @return
     */
    SysUser querySysUserByUserId(Integer userId);

    /**
     * 根据用户id修改用户信息
     * @param user
     * @return
     */
    int updateSysUserByUserId(SysUser user);

    /**
     * 根据用户id修改密码
     * @param user
     * @return
     */
    int updatePasswordByUserId(SysUser user);

    /**
     * 查询用户所有数量
     * @return
     */
    List<SysUser> queryAllSysUser();

    /**
     * 根据用户名进行模糊查询
     * @param userName
     * @return
     */
    List<SysUser> queryAllSysUserByUserName(String userName);

    /**
     * 查询已经删除的用户
     * @return
     */
    List<SysUser> queryAllDeleteSysUser();

    /**
     * 根据用户id还原用户
     * @param userId
     * @return
     */
    int updateSysUserDelFlag(Integer userId);

    /**
     * 根据用户名查询已删除的用户
     * @param userName
     * @return
     */
    List<SysUser> queryAllDeleteUserByUserName(String userName);
}
